home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / Extensn.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  1.5 KB  |  61 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _EXTENSN_
  3. #define _EXTENSN_
  4.  
  5. #ifndef _ODOBJECT_
  6. #include "ODObject.idl"
  7. #endif
  8.  
  9. //==============================================================================
  10. // Theory of Operation
  11. //==============================================================================
  12.  
  13. /*
  14.   ODExtension is the abstract base class from which object extension interfaces
  15.   are derived.  The base class itself has minimal behavior.  It knows which
  16.   object it is an extension of, and how to release resources in itself and in
  17.   its object.  Further behavior should be implemented in derived classes.
  18. */
  19.  
  20. //==============================================================================
  21. // Classes defined in this interface
  22. //==============================================================================
  23.  
  24. interface  ODExtension;
  25.  
  26. //==============================================================================
  27. // Classes used by this interface
  28. //==============================================================================
  29.  
  30. //==============================================================================
  31. // ODExtension
  32. //==============================================================================
  33.  
  34. interface ODExtension : ODObject
  35. {
  36.    
  37.    void InitExtension( inout ODObject base);
  38.  
  39.    ODObject GetBase();
  40.  
  41.    void Release();
  42.  
  43. #ifdef __SOMIDL__
  44.     implementation
  45.     {
  46.     override:
  47.         somInit,
  48.         somUninit;
  49.         
  50.     releaseorder:
  51.         InitExtension,
  52.         GetBase,
  53.         Release;
  54.         
  55.     
  56.     };
  57. #endif
  58. };
  59.  
  60. #endif // _EXTENSN_
  61.